home *** CD-ROM | disk | FTP | other *** search
/ Borland JBuilder 6 / jbuilder6.iso / Documents / JAVA Programming / examples / 11 / PC.java < prev    next >
Encoding:
Java Source  |  2000-09-08  |  651 b   |  39 lines

  1. class Q { 
  2. int n;
  3. synchronized int get() {
  4. System.out.println("Got: " + n);
  5. return n;
  6. }
  7. synchronized void put(int n) { 
  8. this.n = n;
  9. System.out. println("Put: " + n);
  10. } }
  11. class Producer implements Runnable { 
  12. Q q;
  13. Producer(Q q) { 
  14. this.q = q;
  15. new Thread(this,    "Producer").start();
  16. }
  17. public void run()    {
  18. int i = 0;
  19. while (true) { 
  20. q.put(i++);
  21. } } }
  22. class Consumer implements Runnable { 
  23. Q q;
  24. Consumer(Q q) {
  25. this.q = q;
  26. new Thread(this,    "Consumer").start();
  27. }
  28. public void run()    {
  29. while (true) {
  30. q.get();
  31. }
  32. } }
  33. class PC {
  34. public static void main(String args[]) {
  35. Q q = new Q();
  36. new Producer(q);
  37. new Consumer(q);
  38. } }
  39.